package fr.cephb.joperon.core;

@Deprecated
public enum ObjectType
	{
	CUNK, /* unknown */
	CPSE, /* pseudogene */
	CGEN, /* gene locus */
	CORF, /* open reading frame */
	CQTL, /* quantitative trait locus */
	CMRN, /* mRNA */
	CPMT, /* promoter */
	CUTR, /* untranslated */
	CCDS, /* protein coding */
	CRNA, /* RNA */
	CEST, /* EST */
	CTRN, /* tRNA */
	CRRN, /* rRNA */
	CSNR, /* snRNA */
	CSCR, /* scRNA */
	CSNO, /* snoRNA */
	CTPS, /* transposon */
	CPRO, /* protein */
	CDNA, /* gDNA */
	CSTS, /* STS */
	CMST, /* microsat or simple repeat */
	CSNP, /* SNP */
	CINS, /* insertion */
	CDEL, /* deletion */
	CMNP, /* such as AAA/TTT, AG/GA, but also G/TA */
	CREP, /* named with tag ex ALU/- */
	CHET, /* unkown seq composition but know to be heterozygos */
	CMIX, /* mixed */
	CTRI, /* tri-allelic */
	CNOV, /* no variant sequence */
	CPAR, /* paralog */
	CORT, /* ortholog */
	COLG, /* oligo */
	C5UT, /* 5UTR */
	C3UT, /* 3UTR */
	CGGM, /* Genethon genetic map */
	CMGM, /* Marshfield genetic map */
	CDGM, /* deCODE genetic map */
	CMGI, /* MGI genetic map */
	CWGM, /* WI-Genetic MAP */
	CSYN, /* synonymous */
	CIND, /* indel */
	CFXA, /* FHHxACI genetic map */
	CSXB, /* SHRSPxBN genetic map */
	CPCR, /* PCR */
	FTXT, /* text */
	FTAB, /* tab delimited */
	FCSV, /* comma delimited */
	FHTM, /* XHTML format */
	FXML, /* XML format */
	ORHN, /* RH123 */
	ODSN, /* D13S123 */
	OGDB, /* GDB:27736 */
	OPRJ, /* project id */
	OGIN, /* gi83727 */
	ORSN, /* rs82837 */
	OCTG, /* NT_123456 or NC_123456 */
	ORNA, /* NM_123456 or XM_123456 */
	OPRO, /* NP_123456 or XP_123456 */
	OGBK, /* AB123456   or M12345 */
	OGEN, /* Entrez Gene id */
	OSTS, /* UniSTS id */
	OFIN, /* project fin id */
	OVOC, /* univoc id */
	OSNP, /* snp id */
	OCNG, /* CNG snp id */
	OANY, /* Any id */
	OLOC, /* Locus feature id */
	OMIX, /* Mixed ids */
	OTRM, /* Term */
	UADM, /* full access */
	UVIP, /* exceptional access */
	UPRO, /* operational access */
	UNE1, /* public access */
	ISNG, /* state or status is not good */
	STOP, /* status on halt */
	STAR, /* ready to process */
	ISOK, /* state or status is good */
	FFAS, /* FASTA */
	CCMM, /* genetic map */
	CRHM, /* RHM map */
	CHYP, /* hypothetical model */
	FILL, /* Illumina */
	FTAQ, /* Taqman */
	FPLX, /* SNPlex */
	CINT, /* intron */
	CRLX, /* relax */
	CSTC, /* strict */
	CREF, /* RefSeq */
	CENZ, /* Restriction enzyme */
	CEND
	;
	
public static ObjectType IndexToObjectType(int i)
	{
	switch(i)
		{
		case 0: return CUNK;
		case 1: return CPSE;
		case 2: return CGEN;
		case 3: return CORF;
		case 4: return CQTL;
		case 5: return CMRN;
		case 6: return CPMT;
		case 7: return CUTR;
		case 8: return CCDS;
		case 9: return CRNA;
		case 10: return CEST;
		case 11: return CTRN;
		case 12: return CRRN;
		case 13: return CSNR;
		case 14: return CSCR;
		case 15: return CSNO;
		case 16: return CTPS;
		case 17: return CPRO;
		case 18: return CDNA;
		case 19: return CSTS;
		case 20: return CMST;
		case 21: return CSNP;
		case 22: return CINS;
		case 23: return CDEL;
		case 24: return CMNP;
		case 25: return CREP;
		case 26: return CHET;
		case 27: return CMIX;
		case 28: return CTRI;
		case 29: return CNOV;
		case 30: return CPAR;
		case 31: return CORT;
		case 32: return COLG;
		case 33: return C5UT;
		case 34: return C3UT;
		case 35: return CGGM;
		case 36: return CMGM;
		case 37: return CDGM;
		case 38: return CMGI;
		case 39: return CWGM;
		case 40: return CSYN;
		case 41: return CIND;
		case 42: return CFXA;
		case 43: return CSXB;
		case 44: return CPCR;
		case 45: return FTXT;
		case 46: return FTAB;
		case 47: return FCSV;
		case 48: return FHTM;
		case 49: return FXML;
		case 50: return ORHN;
		case 51: return ODSN;
		case 52: return OGDB;
		case 53: return OPRJ;
		case 54: return OGIN;
		case 55: return ORSN;
		case 56: return OCTG;
		case 57: return ORNA;
		case 58: return OPRO;
		case 59: return OGBK;
		case 60: return OGEN;
		case 61: return OSTS;
		case 62: return OFIN;
		case 63: return OVOC;
		case 64: return OSNP;
		case 65: return OCNG;
		case 66: return OANY;
		case 67: return OLOC;
		case 68: return OMIX;
		case 69: return OTRM;
		case 70: return UADM;
		case 71: return UVIP;
		case 72: return UPRO;
		case 73: return UNE1;
		case 74: return ISNG;
		case 75: return STOP;
		case 76: return STAR;
		case 77: return ISOK;
		case 78: return FFAS;
		case 79: return CCMM;
		case 80: return CRHM;
		case 81: return CHYP;
		case 82: return FILL;
		case 83: return FTAQ;
		case 84: return FPLX;
		case 85: return CINT;
		case 86: return CRLX;
		case 87: return CSTC;
		case 88: return CREF;
		case 89: return CENZ;
		case 90: return CEND;		
		default: return CEND;
		}
	}
	
public static  int objectTypeToIndex(ObjectType o)
	{
	switch(o)
		{
		case CUNK: return 0;
		case CPSE: return 1;
		case CGEN: return 2;
		case CORF: return 3;
		case CQTL: return 4;
		case CMRN: return 5;
		case CPMT: return 6;
		case CUTR: return 7;
		case CCDS: return 8;
		case CRNA: return 9;
		case CEST: return 10;
		case CTRN: return 11;
		case CRRN: return 12;
		case CSNR: return 13;
		case CSCR: return 14;
		case CSNO: return 15;
		case CTPS: return 16;
		case CPRO: return 17;
		case CDNA: return 18;
		case CSTS: return 19;
		case CMST: return 20;
		case CSNP: return 21;
		case CINS: return 22;
		case CDEL: return 23;
		case CMNP: return 24;
		case CREP: return 25;
		case CHET: return 26;
		case CMIX: return 27;
		case CTRI: return 28;
		case CNOV: return 29;
		case CPAR: return 30;
		case CORT: return 31;
		case COLG: return 32;
		case C5UT: return 33;
		case C3UT: return 34;
		case CGGM: return 35;
		case CMGM: return 36;
		case CDGM: return 37;
		case CMGI: return 38;
		case CWGM: return 39;
		case CSYN: return 40;
		case CIND: return 41;
		case CFXA: return 42;
		case CSXB: return 43;
		case CPCR: return 44;
		case FTXT: return 45;
		case FTAB: return 46;
		case FCSV: return 47;
		case FHTM: return 48;
		case FXML: return 49;
		case ORHN: return 50;
		case ODSN: return 51;
		case OGDB: return 52;
		case OPRJ: return 53;
		case OGIN: return 54;
		case ORSN: return 55;
		case OCTG: return 56;
		case ORNA: return 57;
		case OPRO: return 58;
		case OGBK: return 59;
		case OGEN: return 60;
		case OSTS: return 61;
		case OFIN: return 62;
		case OVOC: return 63;
		case OSNP: return 64;
		case OCNG: return 65;
		case OANY: return 66;
		case OLOC: return 67;
		case OMIX: return 68;
		case OTRM: return 69;
		case UADM: return 70;
		case UVIP: return 71;
		case UPRO: return 72;
		case UNE1: return 73;
		case ISNG: return 74;
		case STOP: return 75;
		case STAR: return 76;
		case ISOK: return 77;
		case FFAS: return 78;
		case CCMM: return 79;
		case CRHM: return 80;
		case CHYP: return 81;
		case FILL: return 82;
		case FTAQ: return 83;
		case FPLX: return 84;
		case CINT: return 85;
		case CRLX: return 86;
		case CSTC: return 87;
		case CREF: return 88;
		case CENZ: return 89;
		case CEND: return 90;
		default: return 90;
		}
	}

}
